/**
 * 
 */
package ru.etu.game;
import java.awt.*;

/**
 * @author Alucard
 * @author Neko
 * Класс StaticSprite представляет собой картинку, 
 * которая  большую часть своего существования проведет на одном и том же месте.
 */
/**
 * @author Alucard
 *
 */
public class StaticSprite implements Sprite {
	/**
	 * @param image - картинка
	 * @param point - положение на экране
	 */
	public StaticSprite(Image image, Point point) {
		super();
		this.image = image;
		this.point = point;
	}
	/**
	 * @return картинка
	 */
	public Image getImage() {
		return image;
	}
	/**
	 * @param image - новая картинка для спрайта
	 */
	public void setImage(Image image) {
		this.image = image;
	}
	/* (non-Javadoc)
	 * @see ru.etu.game.Sprite#Draw()
	 */
	@Override	
	public void draw(Graphics g) {
		g.drawImage(image, point.getX(), point.getY(), null);
	}
	/* (non-Javadoc)
	 * @see ru.etu.game.Sprite#Colision(ru.etu.game.Sprite)
	 */
	@Override
	public void collision(Sprite sprite){
		//ничего по умолчанию
	}
	/* (non-Javadoc)
	 * @see java.lang.Comparable#compareTo(java.lang.Object)
	 */
	@Override
	public int compareTo(Sprite s) {
		if (this.point.getZ() < s.getPoint().getZ() ) return -1;
		if (this.point.getZ() > s.getPoint().getZ() ) return 1; 
		return 0;
	}
	/* (non-Javadoc)
	 * @see ru.etu.game.Sprite#getPoint()
	 */
	@Override
	public Point getPoint() {
		return this.point;
	}
	/* (non-Javadoc)
	 * @see ru.etu.game.Sprite#setPoint(ru.etu.game.Point)
	 */
	@Override
	public void setPoint(Point point) {
		this.point = point;		
	}
	
	/**
	 * картинка спрайта
	 */
	private Image image;
	/**
	 * положение на экране
	 */
	private Point point;
}
